package com.hr.classes.entity;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.baomidou.mybatisplus.extension.activerecord.Model;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;

import java.math.BigDecimal;
import java.time.LocalDateTime;
import java.util.Date;

/**
 * <pre>
 * 描述：TODO
 * </pre>
 *
 * @类名：com.hr.classes.entity.TbAttendanceRule
 * @创建日期: 2024/5/6 20:49
 */
@Data
@EqualsAndHashCode(callSuper = true)
@Accessors(chain = true)
@TableName("tb_attendance_rule")
@ApiModel(value = "TbAttendanceRule对象", description="")
public class TbAttendanceRule extends Model {

    private static final long serialVersionUID = 1L;

    /**
     * 考勤规则id
     */
    @ApiModelProperty(value="班次考勤规则id")
    @TableId(value = "id", type = IdType.AUTO)
    private Integer id;

    /**
     * 规则名称
     */
    @ApiModelProperty(value="规则名称")
    @TableField("name")
    private String name;

    /**
     * 规则类型（0固定时间 1弹性时间）
     */
    @ApiModelProperty(value="规则类型（0固定时间 1弹性时间）")
    @TableField("type")
    private String type;

    /**
     * 规则说明
     */
    @ApiModelProperty(value="规则说明")
    @TableField("comment")
    private String comment;

    /**
     * 是否启用规则（0不启用 1启用）
     */
    @ApiModelProperty(value="是否启用规则（0不启用 1启用）")
    @TableField("status")
    private String status;

    /**
     * 生效时间
     */
    @ApiModelProperty(value="生效时间")
    @TableField("eff_time")
    private Date effTime;

    /**
     * 上班时间
     */
    @ApiModelProperty(value="上班时间")
    @TableField("work_up_time")
    private Date workUpTime;

    /**
     * 下班时间
     */
    @ApiModelProperty(value="下班时间")
    @TableField("work_down_time")
    private Date workDownTime;

    /**
     * 打卡时间范围开始
     */
    @ApiModelProperty(value="打卡时间范围开始")
    @TableField("clock_start_time")
    private Date clockStartTime;

    /**
     * 打卡时间范围结束
     */
    @ApiModelProperty(value="打卡时间范围结束")
    @TableField("clock_end_time")
    private Date clockEndTime;

    /**
     * 打卡周期
     */
    @ApiModelProperty(value="打卡周期")
    @TableField("clock_period")
    private String clockPeriod;

    /**
     * 弹性时间
     */
    @ApiModelProperty(value="弹性时间")
    @TableField("flex_time")
    private BigDecimal flexTime;

}
